/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package servicos.persistencia;

import dominio.investimentos.Acao;
import dominio.investimentos.Empresa;
import java.util.ArrayList;
import javax.sound.midi.SysexMessage;

/**
 *
 * @author Filipe
 */
public class AcaoDAOS {
    
    public static int inserirAcao (Acao acao,int idBolsa){
		ConexaoBD.getConnection();
		String sql="Insert into acao(bolsa_idBolsa, valorAtual, variacao,"+
		" valorMaximo, valorMinimo, media, abertura, nome, quantidade)"+
		" values ( "+idBolsa+
		", "+acao.getValorAtual()+", "+acao.getVariacao()+", "+
		acao.getValorMax()+", "+acao.getValorMin()+", "+acao.getMedia()+", "+
                        acao.getAbertura()+", '"+acao.getNome()+"',"+ acao.getQtd()+")";
			System.out.println(sql);
			return ConexaoBD.executaInsertUpdateDelete(sql);
	}
    
	public static int alterarAcao(Acao acao,int idAcao,int idBolsa){
		ConexaoBD.getConnection();
		int resultado = 0;
		String sql=" update acao set "+
                "bolsa_idBolsa =" +idBolsa+
		", valorAtual="+acao.getValorAtual()+
		", variacao="+acao.getVariacao()+
		", valorMaximo="+acao.getValorMax()+
		", valorMinimo="+acao.getValorMin()+
                ", media="+acao.getMedia()+
                ", abertura="+acao.getAbertura()+
                ", nome='"+acao.getNome()+
                "', quantidade="+acao.getQtd()+
		"' where idAcao ="+idAcao;
		resultado = ConexaoBD.executaInsertUpdateDelete(sql);
		ConexaoBD.closeConnection();
		return resultado;
	}
	public static int excluirBolsa (int codigo){
		ConexaoBD.getConnection();
		int resultado = 0;
		String sql="delete from acao "+
		" where idAcao = "+codigo;
		resultado = ConexaoBD.executaInsertUpdateDelete(sql);
		ConexaoBD.closeConnection();
		return resultado;		
	}
	public static Acao consultarAcao(int codigo){
		Acao acao= new Acao();
		try{
			ConexaoBD.getConnection();
			String sql=" select * from acao "+
			" where idAcao = "+codigo;
			System.out.println(sql);
			ConexaoBD.executaSelect(sql);
			if(ConexaoBD.rs.next()){
				acao.setAbertura(ConexaoBD.rs.getFloat("abertura"));
                                acao.setMedia(ConexaoBD.rs.getFloat("media"));
                                acao.setNome(ConexaoBD.rs.getString("nome"));
                                acao.setQtd(ConexaoBD.rs.getInt("quantidade"));
                                acao.setValorAtual(ConexaoBD.rs.getFloat("valorAtual"));
                                acao.setValorMax(ConexaoBD.rs.getFloat("valorMaximo"));
                                acao.setValorMin(ConexaoBD.rs.getFloat("valorMinimo"));
                                acao.setVariacao(ConexaoBD.rs.getFloat("variacao"));
			}
		}
		catch (Exception erro){
			System.out.println(erro);
		}
		return acao;
	}
	public static ArrayList<Acao> getListaAcao(){
		ArrayList<Acao> lista = new ArrayList<Acao>();
		try{
			ConexaoBD.getConnection();
			String sql=" select * from acao";
			ConexaoBD.executaSelect(sql);
			while(ConexaoBD.rs.next()){
                                Acao acao = new Acao();
                                acao.setAbertura(ConexaoBD.rs.getFloat("abertura"));
                                acao.setMedia(ConexaoBD.rs.getFloat("media"));
                                acao.setNome(ConexaoBD.rs.getString("nome"));
                                acao.setQtd(ConexaoBD.rs.getInt("quantidade"));
                                acao.setValorAtual(ConexaoBD.rs.getFloat("valorAtual"));
                                acao.setValorMax(ConexaoBD.rs.getFloat("valorMaximo"));
                                acao.setValorMin(ConexaoBD.rs.getFloat("valorMinimo"));
                                acao.setVariacao(ConexaoBD.rs.getFloat("variacao"));
                                
				lista.add(acao);
			}
			ConexaoBD.closeConnection();
		}
		catch(Exception erro){
			System.out.println(erro);
		}
		return lista;
	}
        
       /* public static void main (String[] args)
        {
            Acao acao= new Acao();
           // Empresa e = new Empresa();
           // e.setCnpj("11111");
            int idBolsa = 1, result;
            acao.setAbertura(1);
        //    acao.getEmpresa().setCnpj("11111");
            acao.setMedia(1);
            acao.setNome("Teste2");
            acao.setQtd(1);
            acao.setValorAtual(1);
            acao.setValorMax(1);
            acao.setValorMin(1);
            acao.setVariacao(1);
            
           // result = AcaoDAOS.insertAcao(acao, idBolsa);
            result = AcaoDAOS.alterarAcao(acao, 1, idBolsa);
            int result;
            Acao acao;
            
            acao = consultarAcao(1);
            
            System.out.println(acao.getNome());
            
        }*/
    
}
